﻿using Benefactor.Models.DbModels;

namespace Benefactor.Services;

public interface IBenefitsCardService
{
    Task<IssuedBenefitsCard> IssueAsync(BenefitsCard benefitsCard,
        string userId,
        DateOnly validFrom,
        DateOnly validTo,
        CancellationToken token = default);

    Task<List<Voucher>> GenerateVouchersAsync(
        BenefitsCard benefitsCard,
        IssuedBenefitsCard issuedBenefitsCard,
        DateOnly? voucherValidFrom,
        DateOnly? voucherValidTo,
        CancellationToken token = default);
}